MIPS的英文全稱為:Microprocessor without Interlocked Piped Stages,其機(jī)制是盡量利用軟件辦法避免流水線中的數(shù)據(jù)相關(guān)問題。最早是在80年代初期由斯坦福大學(xué) Hennessy 教授領(lǐng)導(dǎo)的研究小組研制。MIPS是出現(xiàn)最早的商業(yè)RISC架構(gòu)芯片之一,新的架構(gòu)集成了所有原來MIPS指令集,并增加了許多更強(qiáng)大的功能。MIPS只進(jìn)行CPU的設(shè)計(jì),之后把設(shè)計(jì)方案授權(quán)給客戶,使得客戶能夠制造出高性能的 CPU。
MIPS架構(gòu)是業(yè)界高效的RISC架構(gòu),在給定的硅面積提供最佳性能和最低的功耗。MIPS的基本特點(diǎn):包含大量的寄存器、指令數(shù)和字符、可視的管道延時(shí)時(shí)隙,這些特性使MIPS架構(gòu)能夠提供最高的每平方毫米性能和當(dāng)今SoC設(shè)計(jì)中最低的能耗。今天華芯帶大家一起了解經(jīng)典的MIPS架構(gòu)與其相關(guān)的技術(shù)。
MIPS32 Architecture
─────────
MIPS32架構(gòu)是一種高性能的行業(yè)標(biāo)準(zhǔn)架構(gòu)。其應(yīng)用廣泛,從微型控制器到高端網(wǎng)絡(luò)設(shè)備,是數(shù)十億電子產(chǎn)品的核心。它提供了健壯的指令集、廣泛的軟件開發(fā)工具以及來自眾多合作伙伴和授權(quán)商的廣泛支持。
MIPS32體系結(jié)構(gòu)為64位MIPS64體系結(jié)構(gòu)提供了無縫向上兼容性,帶來了強(qiáng)大的功能、標(biāo)準(zhǔn)化的特權(quán)模式指令和對(duì)過去ISA版本的支持。
MIPS32體系結(jié)構(gòu)基于一個(gè)固定長度、有規(guī)則編碼的指令集,并使用一個(gè)加載/存儲(chǔ)數(shù)據(jù)模型。該體系結(jié)構(gòu)經(jīng)過了簡化,以支持高級(jí)語言的優(yōu)化執(zhí)行。算術(shù)和邏輯操作使用三操作數(shù)格式,允許編譯器優(yōu)化復(fù)雜的表達(dá)式??捎玫?2個(gè)通用寄存器使編譯器能夠通過在寄存器中保存經(jīng)常訪問的數(shù)據(jù)來進(jìn)一步優(yōu)化代碼生成的性能。
MIPS64 Architecture
─────────
MIPS64體系結(jié)構(gòu)被廣泛應(yīng)用于各種應(yīng)用程序,包括游戲機(jī)、辦公自動(dòng)化和機(jī)頂盒等。它在如今的網(wǎng)絡(luò)和電信基礎(chǔ)設(shè)施應(yīng)用中繼續(xù)流行,是下一代服務(wù)器、高級(jí)駕駛員輔助系統(tǒng)(ADAS)和自動(dòng)駕駛系統(tǒng)的核心。隨著設(shè)計(jì)復(fù)雜性和軟件使用量的不斷增加,64位MIPS架構(gòu)將應(yīng)用于更廣泛的連接消費(fèi)設(shè)備、SOHO網(wǎng)絡(luò)產(chǎn)品和新興智能應(yīng)用程序。
MIPS64體系結(jié)構(gòu)為未來基于MIPS處理器的開發(fā)提供了堅(jiān)實(shí)的高性能基礎(chǔ),它整合了強(qiáng)大的特性、標(biāo)準(zhǔn)化特權(quán)模式指令、支持過去的ISAs,并提供了來自MIPS32體系結(jié)構(gòu)的無縫升級(jí)路徑。
● 高性能緩存
數(shù)據(jù)流和預(yù)測操作的增加支持了嵌入式市場不斷增長的計(jì)算需求。有條件的數(shù)據(jù)移動(dòng)和數(shù)據(jù)預(yù)取指令是標(biāo)準(zhǔn)化的,允許在通信和多媒體應(yīng)用程序中改進(jìn)系統(tǒng)級(jí)的數(shù)據(jù)吞吐量。
● 定點(diǎn)DSP型指令集
定點(diǎn)DSP型指令進(jìn)一步增強(qiáng)了多媒體處理能力。這些指令包括乘法(MUL)、乘法和加法(MADD)、乘法和減法(MSUB)和“count leading 0s/1s”(之前僅在一些64位MIPS處理器上可用),在處理音頻、視頻和多媒體等數(shù)據(jù)流方面提供了更好的性能,無需向系統(tǒng)添加額外的DSP硬件。
● 強(qiáng)大的64位浮點(diǎn)寄存器
強(qiáng)大的64位浮點(diǎn)寄存器和執(zhí)行單元加快了實(shí)時(shí)處理一些DSP算法和計(jì)算圖形操作的速度。配對(duì)單指令將兩個(gè)32位浮點(diǎn)操作數(shù)打包到一個(gè)64位寄存器中,允許單指令多數(shù)據(jù)操作(SIMD)。與傳統(tǒng)的32位浮點(diǎn)單元相比,這提供了兩倍的執(zhí)行速度。浮點(diǎn)運(yùn)算可以在軟件中模擬。
● 尋址模式
MIPS64體系結(jié)構(gòu)具有32位和64位尋址模式,同時(shí)處理64位數(shù)據(jù)。不需要64位尋址所需的額外內(nèi)存就可獲得64位數(shù)據(jù)。為了方便從32位系列遷移,該體系結(jié)構(gòu)具有32位兼容模式,其中所有寄存器和地址都是32位寬的,執(zhí)行MIPS32體系結(jié)構(gòu)中的所有指令。
MIPS32和MIPS64體系結(jié)構(gòu)包含了重要功能,包括SIMD(單指令多數(shù)據(jù))和虛擬化。這些技術(shù)與多線程(MT)、DSP擴(kuò)展(Digital Signal Process數(shù)字信號(hào)處理)和EVA(增強(qiáng)虛擬尋址)等技術(shù)相結(jié)合,豐富了體系結(jié)構(gòu),使其適用于需要更大內(nèi)存、更高計(jì)算能力和安全執(zhí)行環(huán)境的現(xiàn)代軟件工作負(fù)載。
通過標(biāo)準(zhǔn)化特權(quán)模式和內(nèi)存管理,并通過配置寄存器提供信息,MIPS64體系結(jié)構(gòu)使實(shí)時(shí)操作系統(tǒng)和應(yīng)用程序代碼能夠一次性實(shí)現(xiàn),并與MIPS32和MIPS64處理器系列的未來成員一起重用。
高性能緩存的靈活性和內(nèi)存管理方案是MIPS體系結(jié)構(gòu)的優(yōu)點(diǎn)。MIPS32和MIPS64體系結(jié)構(gòu)通過定義良好的緩存控制選項(xiàng)擴(kuò)展了這些優(yōu)點(diǎn)。指令和數(shù)據(jù)緩存的大小可以從256字節(jié)到4 MB。數(shù)據(jù)緩存可以采用寫回或?qū)懲ㄟ^策略。還可以指定無緩存選項(xiàng)。內(nèi)存管理機(jī)制可以采用TLB或塊地址轉(zhuǎn)換(BAT)策略。通過TLB, MIPS32體系結(jié)構(gòu)滿足Windows CE、Linux和Android內(nèi)存管理需求, MIPS64體系結(jié)構(gòu)滿足了Linux、Android、Windows CE和其他歷史上流行的操作系統(tǒng)的內(nèi)存管理需求。
microMIPS Architecture
─────────
microMIPS是為微控制器和其他占用空間小的嵌入式設(shè)備設(shè)計(jì)的,它是一種代碼壓縮指令集體系結(jié)構(gòu)(ISA),提供32位性能和16位代碼大小的大多數(shù)指令。它保持了MIPS32架構(gòu) 98%的性能,同時(shí)將代碼大小減少了25%,節(jié)省了大量的硅成本。通過更小的內(nèi)存訪問和指令緩存的有效使用,microMIPS還有助于降低系統(tǒng)功耗。
microMIPS ISA結(jié)合了重新編碼的指令和新的16位和32位指令,以實(shí)現(xiàn)性能和代碼密度的理想平衡。它整合了所有MIPS32指令和架構(gòu)模塊,包括MIPS DSP和MIPS MT,以及新的指令來減少高級(jí)代碼大小。microMIPS ISA是向后兼容的,允許重用優(yōu)化的MIPS微體系結(jié)構(gòu)。
在MIPS體系結(jié)構(gòu)的r3、r5和r6版本中支持microMIPS。它是在MIPS cpu上實(shí)現(xiàn)的,包括M14K、microAptiv和Warrior M51xx和Warrior M62xx系列核心。編譯器的支持包含在Codescape開發(fā)工具中。
nanoMIPS Architecture
─────────
nanoMIPS是為嵌入式設(shè)備設(shè)計(jì)的一種可變長度指令集體系結(jié)構(gòu)(ISA),在大大減少代碼量的情況下提供高性能。在可比較的編譯器標(biāo)志下,它可以交付比MIPS32少40%的代碼。通過更小的內(nèi)存訪問和指令緩存的有效使用,nanoMIPS有助于降低系統(tǒng)功耗。
nanoMIPS ISA將重新編碼的指令和新的16位、32位和48位指令結(jié)合起來,實(shí)現(xiàn)了性能和代碼密度的理想平衡。它整合了所有MIPS32指令和架構(gòu)模塊,包括MIPS DSP和MIPS MT及新指令來減少高級(jí)代碼大小。
在MIPS架構(gòu)的第6版中支持nanoMIPS。它首先在新的MIPS I7200多線程多核處理器系列中實(shí)現(xiàn)。基于MIPS GNU的開發(fā)工具中包含了對(duì)編譯器的支持。